Expand description
This crate is about everything concerning the highest-level, application layer of a Bevy app.
Re-exports§
pub use ctrlc;
Modules§
- The app prelude.
Macros§
- A macro for generating a well-documented
PluginGroup
from a list ofPlugin
paths.
Structs§
- Animation system set. This exists in
PostUpdate
. App
is the primary API for writing user applications. It automates the setup of a standard lifecycle and provides interface glue for plugins.- Runs first in the schedule.
- Runs first in the
FixedMain
schedule. - The schedule that runs last in
FixedMain
- The schedule that contains systems which only run after a fixed period of time has elapsed.
- Defines the schedules to be run for the
FixedMain
schedule, including their order. - The schedule that runs after the
FixedUpdate
schedule, for reacting to changes made in the main update logic. - The schedule that contains logic that must run before
FixedUpdate
. - The schedule that contains most gameplay logic, which runs at a fixed rate rather than every render frame. For logic that should run once per render frame, use the
Update
schedule instead. - Runs last in the schedule.
- The schedule that contains the app logic that is evaluated each tick of
App::update()
. - Defines the schedules to be run for the
Main
schedule, including their order. - Adds sensible panic handlers to Apps. This plugin is part of the
DefaultPlugins
. Adding this plugin will setup a panic hook appropriate to your target platform: - Facilitates the creation and configuration of a
PluginGroup
. - The schedule that runs once after
Startup
. - The schedule that contains logic that must run after
Update
. For example, synchronizing “local transforms” in a hierarchy to “global” absolute transforms. This enables thePostUpdate
transform-sync system to react to “local transform” changes inUpdate
without theUpdate
systems needing to know about (or add scheduler dependencies for) the “global transform sync system”. - The schedule that runs before
Startup
. - The schedule that contains logic that must run before
Update
. For example, a system that reads raw keyboard input OS events into anEvents
resource. This enables systems inUpdate
to consume the events from theEvents
resource without actually knowing about (or taking a direct scheduler dependency on) the “os-level keyboard event system”. - Runs the
FixedMain
schedule in a loop according until all relevant elapsed time has been “consumed”. - The schedule that contains scene spawning.
- The schedule that runs once when the app starts.
- A secondary application with its own
World
. These can run independently of each other. - The collection of sub-apps that belong to an
App
. - Terminal
CtrlC Handler Plugin Non-WebAssembly - The schedule that contains any app logic that must run once per render frame. For most gameplay logic, consider using
FixedUpdate
instead.
Enums§
- Plugins state in the application
- Set enum for the systems that want to run inside
RunFixedMainLoop
, but before or after the fixed update logic. Systems in this set will run exactly once per frame, regardless of the number of fixed updates. They will also run under a variable timestep.
Traits§
- A strongly-typed class of labels used to identify an
App
. - An object safe version of
Eq
. This trait is automatically implemented for any'static
type that implementsEq
. - A collection of Bevy app logic and configuration.
- Combines multiple
Plugin
s into a single unit. - Types that represent a set of
Plugin
s.
Type Aliases§
- A shorthand for
Interned<dyn AppLabel>
.
Derive Macros§
- Generates an impl of the
AppLabel
trait.